package com.xd.server.apply.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * 申请表(Apply)视图类
 *
 * @author xiaodi
 * @since 2021-07-10 13:28:46
 */

@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "com.xd.server.apply.vo.ApplyVO", description = "申请表VO")
public class ApplyVO implements Serializable {
    private static final long serialVersionUID = 303002573095531867L;

    @ApiModelProperty(value = "主键", dataType = "Long", required = true, example = "主键")
    private Long id;

    @ApiModelProperty(value = "关联事件类型：1案件 2事件", dataType = "Integer", example = "2021-07-10 13:28:46")
    private Integer eventType;

    @ApiModelProperty(value = "关联事件id", dataType = "Long", required = true, example = "关联事件id")
    private Long eventId;

    @ApiModelProperty(value = "编号按规则生成20位", dataType = "String", required = true, example = "编号按规则生成20位")
    private String applyNumber;

    @ApiModelProperty(value = "填表单位id", dataType = "String", required = true, example = "填表单位id")
    private String applyGroupId;

    @ApiModelProperty(value = "填表时间", dataType = "String", example = "2021-07-10 13:28:46")
    private Date applyTime;

    @ApiModelProperty(value = "承办人", dataType = "String", required = true, example = "承办人")
    private String userId;

    @ApiModelProperty(value = "联系方式", dataType = "String", required = true, example = "联系方式")
    private String phone;

    @ApiModelProperty(value = "基本情况，只能增加不能删减内容", dataType = "String", required = true, example = "基本情况，只能增加不能删减内容")
    private String basicSituation;

    @ApiModelProperty(value = "使用资源", dataType = "String", required = true, example = "使用资源")
    private String useResources;

    @ApiModelProperty(value = "使用目的", dataType = "String", required = true, example = "使用目的")
    private String usePurpose;

    @ApiModelProperty(value = "对象数", dataType = "Integer", example = "2021-07-10 13:28:46")
    private Integer objectNum;

    @ApiModelProperty(value = "目标数", dataType = "Integer", example = "2021-07-10 13:28:46")
    private Integer targetNum;

    @ApiModelProperty(value = "特定信息数", dataType = "Integer", example = "2021-07-10 13:28:46")
    private Integer infoNum;

    @ApiModelProperty(value = "手动查询起始时间", dataType = "String", example = "2021-07-10 13:28:46")
    private Date queryStartTime;

    @ApiModelProperty(value = "手动查询截至时间", dataType = "String", example = "2021-07-10 13:28:46")
    private Date queryEndTime;

    @ApiModelProperty(value = "自动监控起始时间", dataType = "String", example = "2021-07-10 13:28:46")
    private Date monitorStartTime;

    @ApiModelProperty(value = "自动监控截至时间", dataType = "String", example = "2021-07-10 13:28:46")
    private Date monitorEndTime;

    @ApiModelProperty(value = "备注", dataType = "String", required = true, example = "备注")
    private String remark;

    @ApiModelProperty(value = "申请状态 1：审批中 2：已完成 3：已驳回 4：已作废 5：已回复 6：待打印", dataType = "Integer", example = "2021-07-10 13:28:46")
    private Integer applyState;

    @ApiModelProperty(value = "关联事件名称", dataType = "String", required = true, example = "关联事件名称")
    private String eventName;

    @ApiModelProperty(value = "当前审批人id", dataType = "String", required = true, example = "当前审批人id")
    private String approveUserId;

    @ApiModelProperty(value = "创建时间", dataType = "String", example = "2021-07-10 13:28:46")
    private Date createTime;

    @ApiModelProperty(value = "创建人Id", dataType = "String", required = true, example = "创建人Id")
    private String createUserId;

    @ApiModelProperty(value = "0：未打印 1：已打印", dataType = "Integer", example = "2021-07-10 13:28:46")
    private Integer isPrint;


}
